//
//  main.cpp
//  CAP2 6
//
//  Created by 孙洋洋 on 2022/3/25.
//  Copyright © 2022年 当狗的二象性. All rights reserved.
//
//计算pai

#include <iostream>
using namespace std;
int main()
{
    //分析：许多个数相加，要有循环；正负号变化m，要有循环；小数，数据类型；结束判定：绝对值小于
    /*
    一个来自课本的例子
    int n;
    double e,u;
    n=1 ; e=u=1.0 ;
    do
    {
        u=u/n;
        e=u+e;
        n++;
    }while(u>1.0e-7);
    cout<<"n="<<n<<" "<<"e="<<e<<endl;
    return 0;
    */
    long int n,i,s;//记录分母，和控制正负的变量i,s
    double pi,u,pai,su;//记录pai的累加值和各项的无符号情况
    n=3 ; pi=1.0 ;
    
    do
    {
        s=-1;
        for(i=1 ; i<=(n+1)/2 ; i=i+1)
        {
            s=(-s);
        }
        u=(1.0/n);
        su=1.0*s*u;
        pi=pi+su;
        n=n+2;
    }while(n<=1000000);
    pai=4.0*pi;
    cout<<pai<<endl;
    return 0;
    
}

